//引入Vue核心库
import Vue from 'vue'
//引入Vuex
import Vuex from 'vuex'
// //引入axios
 import axios from 'axios'
//应用Vuex插件
Vue.use(Vuex)
   
//准备actions对象——响应组件中用户的动作、处理业务逻辑
const actions = { 
	//此处编写使用 this.$store.dispatch()方法时的配置
		setMessage(context,value){
			if(value!=null&&value!=''){
				
				let mqMessageObj = JSON.parse(value);
			
				 context.commit('SET_MESSAGE',mqMessageObj)
		
			}
		}

}
//准备mutations对象——修改state中的数据
const mutations = {
	SET_MESSAGE(state,mqMessageObj){
		
		//获取消息本身
		let message=JSON.parse(mqMessageObj.jsonData);
		
		console.log("本次赋值的消息：",message);		
		//判断当前消息的类型
		switch (mqMessageObj.messageType) {
			case 'message_type_chat':
				state.chatMessageStr=mqMessageObj.jsonData;
				
				break;
			case 'message_type_private_letter':
				state.leavingAMessage.privateLetterStr=mqMessageObj.jsonData;
				
				break;
			case 'message_type_system_message':
				state.leavingAMessage.systemMessageStr=mqMessageObj.jsonData;
			
				break;	
			default:
				console.log("未知消息类型")
		}
	

	}
}
//准备getters对象——用于将state中的数据进行加工
const getters = {

}
//准备state对象——保存具体的数据
const state = {
	//聊天消息
	chatMessageStr:'',
	//留言
   leavingAMessage:{
	   //留言-私信
	   privateLetterStr:'',
	   //留言-系统留言
	   systemMessageStr:''
   }
	
}
   
//创建并暴露store
export default new Vuex.Store({
   	actions,
   	mutations,
   	state,
   	getters 
})
